package day06;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Scanner;

/**
 * 要求用户输入一个文件名，并复制当前目录中该文件，并取名为"原文件名_copy.后缀名"
 * 定义两个方法分别使用单字节形式复制，以及字节数组形式复制
 * @author Bonnie
 *
 */
public class Test07 {
	public static void main(String[] args) throws IOException {
		Scanner input=new Scanner(System.in);
		System.out.println("请输入需要复制的文件名:");
		String name=input.nextLine();
		copy1(name);
		
	}
	/**
	 * 使用单字节方式复制
	 * @param name 要复制的文件名
	 */
	public static void copy1(String name) throws IOException {
		FileInputStream fis = new FileInputStream(name);
		String[] str=name.split("\\.");
		FileOutputStream fos = new FileOutputStream(str[0] + "_copy." + str[1]);
		int len;
		while ((len=fis.read()) !=-1){
			fos.write(len);
		}
	}
	/**
	 * 使用字节数组形式复制
	 * @param name 要复制的文件名
	 */
	public static void copy2(String name) throws IOException {
		FileInputStream fis = new FileInputStream(name);
		String[] str=name.split(name);
		FileOutputStream fos = new FileOutputStream(str[0] + "_copy." + str[1]);
		byte[] bytes=new byte[1024];
		int len;
		while ((len=fis.read(bytes)) !=-1){
			fos.write(len);
		}
	}
}
